layui.config({
    base: '/lib/layuiadmin/' //静态资源所在路径
}).extend({
    index: 'lib/index' //主入口模块
}).use(['index'], function() {
    var form = layui.form,
        laytpl = layui.laytpl,
        $ = layui.jquery,
        layerIndex = 1,
        $setrsa_div = $('#setrsa_div'),
        url = '/system/console/';

    // 新增用户公钥
    form.on('submit(setRsa)', function(obj) {
        laytpl(rsaInput.innerHTML).render(obj, function(html) {
            popupWin('应用公钥(SHA256withRsa)', html, true);
        });
        return false;
    });
    form.on('submit(add)', function(data) {
        operate('POST', data.field, false);
        return false;
    });

    // 生成Rsa
    form.on('submit(createRsa)', function() {
        window.open('/system/console/creatersa');
    });
    // 修改rsa
    form.on('submit(updateRsa)', function(obj) {
        layer.close(layerIndex);
        laytpl(rsaInput.innerHTML).render(obj, function(html) {
            console.log(html);
            popupWin('应用公钥(SHA256withRsa)', html, true);
        });
    })

    // 查看应用公钥
    form.on('submit(checkUserRsa)', function(obj) {
        $.get("/system/console/" + $(obj.elem).data('id'), function(res) {
            laytpl(checkUserRsa.innerHTML).render(res.data, function(html) {
                popupWin('应用公钥(SHA256withRsa)', html, false);
            })
        })
    });
    // 查看平台公钥
    form.on('submit(checkPlatformRsa)', function(obj) {
        $.get("/system/console/" + $(obj.elem).data('id'), function(res) {
            laytpl(checkPlatformRsa.innerHTML).render(res.data, function(html) {
                popupWin('平台公钥(SHA256withRsa)', html, false);
            })
        })
    });

    /**
     * 用户操作
     * 删除操作时传入的当前行对象
     * @param ajaxType 请求类型
     * @param data 参数
     * @param refresh 是否刷新
     */
    function operate(ajaxType, data) {

        $.ajax({
            url: url,
            type: ajaxType,
            async: true,
            data: data,
            success: function(res) {
                if(res.code == 10000) {
                    layer.close(layerIndex);
                    if(ajaxType === 'POST') {
                        laytpl(_SETRSA_DIV.innerHTML).render(res, function(html) {
                            $setrsa_div.html(html);
                        })
                    }
                    layer.msg(res.message, {icon: 1});
                }  else if(res.code == 403) {
                    layer.msg(res.message, {icon: 4});
                } else {
                    layer.msg(res.message, {icon: 5});
                }
            }
        })
    }

    /**
     * 渲染弹框
     * @param title 标题
     * @param content 内容
     * @param showBtn   是否显示按钮
     */
    function popupWin(title, content, showBtn) {
        layerIndex = layer.open({
            // id: 'meatball',
            type: 1, //Page层类型
            area: '700px', //['700px', '480'],
            maxWidth: 1000,
            maxHeight: 800,
            skin: 'layui-layer-rim', //加上边框
            title: title,
            shade: 0.1, //遮罩透明度
            // maxmin: true, //允许全屏最小化
            anim: 0, //0-6的动画形式，-1不开启
            scrollbar: false, //禁用滚动
            content: content,
            btn: showBtn ? ['<i class="layui-icon layui-icon-ok"></i> 提交', '<i class="layui-icon layui-icon-refresh-1"></i> 重置'] : '',
            yes: function(index, layero) {
                layero.find('form .submit').trigger('click');
                return false;
            },
            btn2: function(index, layero) {
                layero.find('form .reset').trigger('click');
                return false;
            }
        });
        // layer.full(layerIndex);
    }

    form.verify({
        rsalen: [
            /^[\S]{200,4000}$/,
            '请填写200至4000个字符'
        ]
    });
});